home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 3
/
Cream of the Crop 3.iso
/
comm
/
dep309.zip
/
DEPARC.EXE
/
SCRIPTS.EXE
/
JOINTOP.DSL
< prev
next >
Wrap
Text File
|
1993-10-16
|
4KB
|
150 lines
Script JoinTop; (* Script to join a single topic on Cix *)
(* Redundant now that Cix does it internally *)
(* For Deputy Version 2.16 or later *)
(* Written by Michael Spalter, July 1992 V.1.0 *)
(* Modified by Rod Ellery (rodders@cix) to show *)
(* usage of ARRAY OF STRING constructions *)
(* This Version requires Deputy 3.01 or later *)
VAR
Whandle : INTEGER;
Result : INTEGER;
Resign : INTEGER;
idx : INTEGER;
OK : BOOLEAN;
Blanktop : STRING[15];
ConfName : STRING[15];
Topic : STRING[15];
TopicA : ARRAY[0..17] OF STRING;
FUNCTION GrabName : STRING;
VAR
Answer : INTEGER;
Single : CHAR;
BEGIN
Topic:='';
WaitStr("'",1);
WaitStr('.',2);
Answer:=DoWait(10);
IF Answer<>1 THEN
RETURN('<BLANK>');
alarm;
END;
REPEAT
Single:=RecChar(10,FALSE);
IF ORD(Single)<>ORD("'") THEN
Topic:=Topic+Single;
END;
UNTIL ORD(Single)=ORD("'");
RETURN(Topic);
END GrabName;
PROC ResTop (tname : STRING);
BEGIN
IF Tname<>BlankTop THEN
SendStr('Resign ');
SendStr(ConfName);
SendStr(' ');
SendStr(Tname);
SendStr('\r');
DoWait(1);
END;
END ResTop;
BEGIN
IF NOT DCD THEN
WrLn;
Write('You must be connected to Cix to use this script.');
WrLn;
HaltScript;
END;
BlankTop:='<BLANK>';
Escape(FALSE);
Cursor(TRUE);
REPEAT
Whandle:=Window(20,10,34,2,'Join a Single Topic',27);
UseWindow(WHandle);
GotoXY(1,1);
Write('Conference Name: ');
Read(ConfName);
CloseWindow(Whandle);
Escape(TRUE); Silent(TRUE);
IF ConfName<>'' THEN
ClrScr;
SendStr('JOIN ');
SendStr(ConfName);
SendStr('\r');
WaitStr('Topics are',1);
WaitStr('(y/n)?',2);
WaitStr('Joining',3);
Result:=DoWait(20);
IF (Result<1) OR (Result>3) THEN
WrLn;
Write('Unexpected result - Script aborting.\r');
HaltScript;
END;
IF (Result=1) OR (Result=3) THEN
WrLn;
ForeGnd(LCYAN);
Write('You are already a member - please resign then try again');
ForeGnd(LGrey);
WrLn;
WrLn;
Silent(FALSE);
HaltScript;
END;
END;
UNTIL (Result=2) OR (ConfName='');
IF ConfName='' THEN
HaltScript;
END;
SendStr('y\r');
For idx := 0 to 17 DO
TopicA[idx]:=BlankTop;
END;
Topic := Blanktop;
Topic := Grabname;
While Topic <> BlankTop Do
idx := 0;
While (TopicA[idx] <> Blanktop) AND (idx < 17) Do
idx := idx+1;
END;
TopicA[idx] := Topic;
Topic := Blanktop;
Topic := Grabname;
End;
SendStr('\r'); Silent(FALSE);
Resign:=Menu(20,3,15,'Join Which Topic ?',
'1 - '+TopicA[0],
'2 - '+TopicA[1],
'3 - '+TopicA[2],
'4 - '+TopicA[3],
'5 - '+TopicA[4],
'6 - '+TopicA[5],
'7 - '+TopicA[6],
'8 - '+TopicA[7],
'9 - '+TopicA[8],
'10 - '+TopicA[9],
'11 - '+TopicA[10],
'12 - '+TopicA[11],
'13 - '+TopicA[12],
'14 - '+TopicA[13],
'15 - '+TopicA[14],
'16 - '+TopicA[15],
'17 - '+TopicA[16],TopicA[17],1);
TopicA[Resign] := BlankTop;
For idx := 0 To 17 DO
ResTop(TopicA[idx]);
END;
END JoinTop;